#!/usr/bin/env node

//引入文件系统
// const fs = require('fs');

// const buf = fs.readFileSync('./book.png');
// let data = buf.toString('base64');
// data = `data:image/png;base64,${data}`;

// //console.log(data);

// const http = require('http');

// const svr = http.createServer();

// svr.on('request', (req, res) => {
//   res.end(`<img src = "${data}">`)
// });

// svr.listen(8080);

//网课部分
//可用于在大图片中更方便地嵌入小图片，优化网页设计
//引入文件系统模块
// const fs = require('fs');
// //引入服务器模块
// const http = require('http');

// const mime = 'image/jpg';
// //同步读取文件  读取的图片数据二进制转换为base64编码形式
// const data = fs.readFileSync('./qr-code.jpg').toString('base64');

// const uri = 'data:' + mime + ';base64,' + data;

// console.log('data url:\n%s', uri);

// //组装html页面
// let html = '<!DOCTYPE html>\n<html>\n<body>\n<img alt="qr-code" src="' + uri + '"\>\n</body>\n</html>';

// //创建服务
// http.createServer(function (req, res) {
//   console.log(req.headers);
//   res.end(html);
// }).listen(8080);

const fs = require('fs');
const http = require('http');

// 检查命令行参数的数量
if (process.argv.length !== 3) {
  console.error('Usage: node script.js <file_name>');
  process.exit(1); // 参数不正确时，以退出码 1 退出
}

// 获取命令行参数中的文件名
const fileName = process.argv[2];

// 检查文件是否存在
if (!fs.existsSync(fileName)) {
  console.error('Error: File does not exist.');
  process.exit(1);
}

// 同步读取文件，读取的图片数据二进制转换为 base64 编码形式
const mime = 'image/jpeg'; // 正确的 MIME 类型
const data = fs.readFileSync(fileName).toString('base64');

const uri = 'data:' + mime + ';base64,' + data;

console.log('data url:\n%s', uri);

// 组装 HTML 页面
let html = `<!DOCTYPE html>\n<html>\n<body>\n<img alt="qr-code" src="${uri}" />\n</body>\n</html>`;

// 创建服务
http.createServer(function (req, res) {
  console.log(req.headers);
  res.writeHead(200, { 'Content-Type': 'text/html' });
  res.end(html);
}).listen(8080);

console.log('Server running at http://localhost:8080/');



